#ifndef __LIST_H__
#define __LIST_H__

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <unistd.h>
#include <time.h>

#define MAX_LEN 20

// 学生信息结构体
typedef struct 
{
    // 登录用
    char user_name[128];   // 账号
    char password[128];    // 密码
    // 学生信息
    char name[128];        // 学生姓名
    char sex[5];           // 学生性别
    int id;                 // 学生id
    int age;                // 学生年龄
    int soc;                // 学生成绩
}stu_user;

// 顺序表结构体
typedef struct list_str
{
    // 信息
    stu_user data[MAX_LEN];
    // 长度
    int len;
}list_str;


/*************************** 登录 ***************************/

// 学生登录
bool Student_log_in(list_str * L , int * index);

// 老师登录
bool Teacher_log_in(list_str * L);


/*************************** 小程序 ***************************/

void exit_();

void multiplication_table();

void guess_number();

void calculator();


/*************************** 顺序表 ***************************/



// 初始化
void list_init(list_str ** L);

// 增
bool list_add(list_str * L , stu_user data );

// 删
bool list_del(list_str * L);

// 老师查  姓名....
int list_Teacher_find(list_str *L);

// 老师改  姓名....
bool list_Teacher_alter(list_str *L, int index);

// 老师加
bool list_Teacher_add(list_str * L);

// 老师删
bool list_Teacher_del(list_str * L);

bool list_Teacher_ifdel(list_str * L);

// 学生查  查自己
bool list_Student_find(list_str * L , stu_user data  );

// 成绩排序
bool list_sort(list_str * L );


// 遍历程序
void list_printf(list_str * L );

// 释放顺序表
void list_free(list_str ** L);

#endif